看完了高併發架構的系列介紹後,今天開始來研究大數據相關的服務吧!我們先從數據串流相關的服務做起-Kinesis。
Kinesis可以實現實時的大數據串流,並且具備可擴充性,讓我們可以隨時因應數據的規模,做效能的調控。Kinesis通常會應用在物聯網相關的感測器上,因為這些感測器會即時產製大量的資料進行匯集,後台的系統也需要根據所接收的資料,即時做出回應。
Kinesis由4個部分組成:Kinesis Producers、Data Record、Kinesis Data Streams、Kinesis Consumers。
從資料產製方(例如各種感應器)產生的數據,稱作Data Record。這些Data Record會經由Kinesis Producer這一支應用程式,被匯入Kinesis Data Streams。Kinesis Data Streams具備接收大量資料的能力,並可將資料提供給多個Kinesis Consumers;Kinesis Data Stream之所以具備處理大量資料的能力,主要來自於Shard數量的設置,設置越多的Shard,讀寫能力越大;每一個Shard每秒最多可寫入不超過1MB資料,讀取的話,則是每秒不超過2MB資料。Kinesis Consumers則是會接收來自Kinesis Data Streams的資料後,進行後續所需的加值應用服務。